﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using YasharEl.Infrastructure.EntityModel;

namespace YasharEl.Infrastructure.Core.Personification
{
    [Serializable]
    public class Gender : Enumeration
    {
        #region TypeSafe Static Enumerations

        public static readonly Gender Male = new MaleGender();
        public static readonly Gender Female = new FemaleGender();

        #endregion

        #region Constructors

        public Gender(int value, string shortName,string longName)
	    {

	    }

        #endregion

        #region Inner Classes - Type safe concrete enumerations

        [Serializable]
        private class MaleGender : Gender
        {
            public MaleGender()
                :base(1, "Male", "Male")
            {

            }
        }

        [Serializable]
        private class FemaleGender : Gender
        {
            public FemaleGender()
                : base(2, "Female", "Female")
            {

            }
        }

        #endregion
    }
}
